1. Technical Field
The present invention relates to multi-core processing and, more particularly, to scheduling in manycore processors.
2. Description of the Related Art
New manycore processors are devices with more than 50 processing cores supporting more than 200 hardware threads. In particular, and unlike the GPU and other manycore designs, The Intel® Xeon Phi™ includes several design choices that make the Xeon Phi™ easier to program. First, its cores are x86 compatible. Second, it runs the Linux operating system, enabling easy multiprocessing with services such as virtual memory and context switching. Third, it supports OpenMP, a popular parallel programming model. Intel® also provides middleware to manage data transfers between the host and coprocessor. Consequently, the Xeon Phi™ is widely perceived to be more usable across a range of parallel applications, especially when compared to other manycore offerings in the recent past.
Many suitable applications for the Xeon Phi™ can be expressed using a bag-of-tasks framework. Bag-of-tasks applications are those whose tasks are completely independent. Although conceptually simple, this framework is typical of a large class of problems such as satellite imaging, Berkely Open Infrastructure for Network Computing (BOINC)-like computations, image processing, networking, and others. Tasks belonging to bag-of-tasks applications typically have real-time constraints, which we refer to as the task deadline. For example, a satellite may produce a certain amount of data periodically, say once each revolution; to avoid backlog, the system must complete processing the data before the satellite comes around again and dumps the next round of data. Therefore, in the bag-of-task application scenarios, one requirement is to complete the processing of a task before its deadline.